﻿Imports Entities
Imports Business
Imports DataAccess
Public Class MantencionVillas
    Private _Villa As New VILLAS
    Private _FormVenta As RealizarVenta = Application.OpenForms.OfType(Of RealizarVenta).SingleOrDefault

    Private Sub bGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bGuardar.Click

        If xNombre.Text = "" Then
            Util.Mensaje("Debe Ingresar el Nombre de la Villa")
            xNombre.Focus()
        Else
            Dim villa As New VILLAS
            With villa
                If Not IsNothing(_Villa) Then .VILLA = _Villa.VILLA
                .NOMBRE = xNombre.Text.ToUpper
                .ACTIVO = True
            End With
            If VillaBL.Save(villa) Then
                If Not IsNothing(_FormVenta) Then
                    _FormVenta.UpdateVillasList()
                    Dispose()
                End If

                Util.Mensaje("Villa Ingresada Correctamente")
                _Villa = Nothing
                Limpiar()
                Titulo()
            Else
                Util.Mensaje("No se Pudo Ingresar la Villa")
            End If
        End If
    End Sub
    Private Sub Limpiar()
        xNombre.Clear()
        xNombre.Focus()

        bGuardar.Text = "Guardar"
        bEliminar.Enabled = False
    End Sub
    Private Sub bCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bCancelar.Click
        Dispose()
    End Sub

   
    Private Sub Titulo()
        Limpiar()
        Dim lista As New List(Of VILLAS)
        lista = VillaBL.List
        If Not IsNothing(lista) Then
            gGrillaMantencion.DataSource = lista
            gGrillaMantencion.Font = New Drawing.Font("Tahoma", Util.GridFont, FontStyle.Regular, GraphicsUnit.Point)
            gGrillaMantencion.Columns("VILLA").Visible = False
            gGrillaMantencion.Columns("ACTIVO").Visible = False
            gGrillaMantencion.Columns("NOMBRE").HeaderText = "Nombre Villa"
            For Each col As DataGridViewColumn In gGrillaMantencion.Columns
                col.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
            Next
            ' gGrillaMantencion.Columns("NOMBRE").Width = 200
        End If

    End Sub

    Private Sub gVillas_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles gGrillaMantencion.DoubleClick
        If gGrillaMantencion.Rows.IndexOf(gGrillaMantencion.CurrentRow) >= 0 Then
            _Villa = VillaBL.SearchById(gGrillaMantencion.Item("VILLA", gGrillaMantencion.Rows.IndexOf(gGrillaMantencion.CurrentRow)).Value)
            cargarVilla()
        End If
    End Sub

    Private Sub cargarVilla()
        If IsNothing(_Villa) Then
            Limpiar()
        Else
            xNombre.Text = _Villa.NOMBRE
            bGuardar.Text = "Modificar"
            bEliminar.Enabled = True
        End If
    End Sub

    Private Sub bLimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bLimpiar.Click
        Limpiar()
    End Sub

    Private Sub bEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bEliminar.Click
        If Not IsNothing(_Villa) Then
            If VillaBL.Delete(_Villa.VILLA) Then
                Util.Mensaje("Villa Ingresada Correctamente")
                Limpiar()
                Titulo()
            Else
                Util.MensajeError("Error al Ingresar Villa")
                Limpiar()
                Titulo()
            End If
        End If
        'If xNombre.Text = "" Then
        '    Util.Mensaje("No Puede Dejar una Villa sin Nombre")
        '    xNombre.Focus()
        'Else
        '    If consVilla.Villa > 0 Then
        '        If consVilla.Elimiar() Then
        '            Util.Mensaje("Villa Eliminada con Exito")
        '            Titulo()
        '            Limpiar()
        '        End If
        '    End If

        'End If
    End Sub

    Private Sub xNombre_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xNombre.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub

    Private Sub MantencionVillas_Activated(sender As Object, e As EventArgs) Handles Me.Activated
        Limpiar()
        Titulo()
    End Sub
End Class